<?php

class Application_Model_CategoriaMapper
{
	public $tb;
	
	public function __construct()
	{
		$this->tb = new Application_Model_DbTable_Categoria();
	}
	
	public function salvar(Application_Model_Categoria $categoria)
	{
		$maximoCategorias = "5";
		
		$totalCategorias = $this->tb->fetchAll()->count();
			
			try
			{
				$categoria = array(
						"id_categoria"	=> trim($categoria->getIdCategoria()),
						"nome"			=> trim($categoria->getNome()),
						"descricao"		=> trim($categoria->getDescricao()),
						"imagem"		=> $categoria->getImagem(),);
					
				return  $this->tb->insert($categoria);
					
			} catch (Zend_Exception $e)
			{
				echo "ERR: " . $e->getMessage();
			}
						
	}
	
	public function atualizar(Application_Model_Categoria $categoria)
	{
		$id = $categoria->getIdCategoria();
				
		$categoriaModel = array(

				"nome"			=> $categoria->getNome(),
				"descricao"		=> $categoria->getDescricao(),
		);
		
		try 
		{
			return  $this->tb->update($categoriaModel,"id_categoria = ".$id);
			
		} catch (Zend_Exception $e) 
		{
			return "ERR:".$e->getMessage();
		}
	
	}
	
	
	
	public function listarCategorias()
	{
		return $this->tb->fetchAll(null, "nome")->toArray();
	}
	
	public function excluir($id)
	{
		return $this->tb->delete("id_categoria = {$id}");
	}
	
	
	public function selecionarPeloId($id)
	{
		return $this->tb->find($id)->toArray();
	}
	
	
	public function atualizarImagem($id, $novaImagem)
	{
		$imagem = array("imagem"=> $novaImagem);
		
		$idCategoria = $id["id_categoria"];
		
		try {
			$this->tb->update($imagem, "id_categoria = ".$idCategoria);
			
		} catch (Zend_Exception $e) {
			echo "ERR:".$e->getMessage();
		}
	}
	
}

